package com.example.module.goods.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.module.goods.form.GetGoodsForm;
import com.example.module.goods.form.GoodsAddForm;
import com.example.module.goods.form.GoodsDeleteByIdForm;
import com.example.module.goods.form.GoodsUpdateForm;
import com.example.module.goods.vo.GetGoodsVO;

import java.util.List;

/**
 * @author ghy
 * @date 2025/08/12
 * @description 商品服务
 */
public interface GoodsService {
    /*
     * 新增商品
     *
     * @param goodsAddForm
     * @return void
     * */
    void addGoods(GoodsAddForm goodsAddForm);

    /*
     * 删除商品
     *
     * @param goodsDeleteByIdForm
     * @return void
     * */
    void deleteGoodsById(GoodsDeleteByIdForm goodsDeleteByIdForm);

    /*
     * 更新商品
     *
     * @param goodsUpdateForm
     * @return void
     * */
    void updateGoods(GoodsUpdateForm goodsUpdateForm);

    /*
     * 查询商品
     *
     * @param getGoodsForm
     * @return List<GetGoodsVO>
     * */
    List<GetGoodsVO> getGoods(GetGoodsForm getGoodsForm);

    /*
     * 分页查询商品
     *
     * @param getGoodsForm
     * @return Page<GetGoodsVO>
     * */
    Page<GetGoodsVO> getGoodsByPage(GetGoodsForm getGoodsForm);
}
